home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / ATA.idl < prev    next >
Text File  |  1996-05-01  |  5KB  |  132 lines

  1. /*
  2.      File:        ATA.idl
  3.  
  4.      Contains:    ATA (PC/AT Attachment) Interfaces
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __ATA_IDL__
  19. #define __ATA_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __TYPES_IDL__
  25. #include <Types.idl>
  26. #endif
  27. #ifndef __MIXEDMODE_IDL__
  28. #include <MixedMode.idl>
  29. #endif
  30.  
  31. #ifdef __SOMIDL__
  32.  
  33. #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
  34. /* This is the structure used for the AT Interface core routines below */
  35. /* Used to determine the presence of traps*/
  36. /* Task file definition *** Error Register ****/
  37. /* Task file definition *** ataTFSDH Register ****/
  38. /* Task file definition *** Status Register ****/
  39. /* ATA Command Opcode definition*/
  40. /* Set feature command opcodes*/
  41. /* Device Register Images  (8 bytes) */
  42. typedef SOMLargeStruct            ataTaskFile;                /* Derived from a struct of 8 bytes in size */
  43.  
  44. /* ATA Manager Function Code Definition*/
  45. /* 'ATAFlags' field of the PB header definition*/
  46. /* Parameter block header definition - common for all PBs (48 bytes)*/
  47. typedef SOMLargeStruct            ataPBHeader;                /* Derived from a struct of 48 bytes in size */
  48.  
  49. /* data request entry structure (16 bytes)*/
  50. typedef SOMLargeStruct            IOBlock;                    /* Derived from a struct of 8 bytes in size */
  51.  
  52. /*
  53.  For ATAPI devices the ExtendedPB field is a pointer to the Command Packet
  54.  record which exists of an array of words structured as follows...    <06/15/94>
  55. */
  56. typedef SOMLargeStruct            ATAPICmdPacket;                /* Derived from a struct of 18 bytes in size */
  57.  
  58. /* Manager parameter block structure (96 bytes)*/
  59. typedef SOMLargeStruct            ataIOPB;                    /* Derived from a struct of 96 bytes in size */
  60.  
  61. /*
  62.  Parameter block structure for bus and Manager inquiry command
  63.  Manager parameter block structure
  64. */
  65. typedef SOMLargeStruct            ataBusInquiry;                /* Derived from a struct of 184 bytes in size */
  66.  
  67. /* Manager parameter block structure*/
  68. typedef SOMLargeStruct            ataMgrInquiry;                /* Derived from a struct of 96 bytes in size */
  69.  
  70. /*
  71.  Parameter block structure for Abort command
  72.  Manager parameter block structure
  73. */
  74. typedef SOMLargeStruct            ataAbort;                    /* Derived from a struct of 96 bytes in size */
  75.  
  76. /* Manager parameter block structure*/
  77. typedef SOMLargeStruct            ATAEventRec;                /* Derived from a struct of 8 bytes in size */
  78.  
  79. typedef OpaquePtr                ATAEventRecPtr;                /* Substituted OpaquePtr for ``ATAEventRec*'' */
  80.  
  81. typedef OpaquePtr ATAClientProcPtr;
  82. typedef OpaquePtr ATAClientUPP;
  83. /*
  84.  Parameter block structure for Driver Register command
  85.  Manager parameter block structure
  86. */
  87. typedef SOMLargeStruct            ataDrvrRegister;            /* Derived from a struct of 96 bytes in size */
  88.  
  89. /* Parameter block structure for Modify driver event mask command*/
  90. typedef SOMLargeStruct            ataModifyEventMask;            /* Derived from a struct of 96 bytes in size */
  91.  
  92. /* 'ataRegMask' field of the ataRegAccess definition*/
  93. /* Parameter block structure for device register access command*/
  94. typedef SOMLargeStruct            ataRegValueUnion;            /* Derived from a struct of 3 bytes in size */
  95.  
  96. /* Manager parameter block structure*/
  97. typedef SOMLargeStruct            ataRegAccess;                /* Derived from a struct of 96 bytes in size */
  98.  
  99. /* Manager parameter block structure    <DP03/10/94>*/
  100. typedef SOMLargeStruct            ataIdentify;                /* Derived from a struct of 96 bytes in size */
  101.  
  102. /* 'ataConfigSetting' field of the Get/Set Device Configuration definition <8/6/94>*/
  103. /* atapcValid field definition*/
  104. /* Device physical type & socket type indicator definition*/
  105. /*
  106.  Get/Set Device Configuration parameter block structure <8/6/94>
  107.  Manager parameter block structure
  108. */
  109. typedef SOMLargeStruct            ataDevConfiguration;        /* Derived from a struct of 96 bytes in size */
  110.  
  111. /* Get Card Location Icon/Text    <SM4>*/
  112. /* Manager parameter block structure*/
  113. typedef SOMLargeStruct            ataLocationData;            /* Derived from a struct of 96 bytes in size */
  114.  
  115. /* ataOSType available*/
  116. /* The parameter block definition for all other ATA Manager functions.*/
  117. typedef SOMLargeStruct            ataGeneric;                    /* Derived from a struct of 96 bytes in size */
  118.  
  119. typedef SOMLargeStruct            ataPB;                        /* Derived from a struct of 1144 bytes in size */
  120.  
  121. /* The ATA Event codes...*/
  122. typedef OpaquePtr ATADispatchProcPtr;
  123. typedef OpaquePtr ATADispatchUPP;
  124. /* Device Error codes: 0xDB42 - 0xDB5F    */
  125. /* ------------------------    Version 1 definition -------------------------------    */
  126. #endif
  127.  
  128. #endif /* __SOMIDL__ */
  129.  
  130. #endif /* __ATA_IDL__ */
  131.  
  132.